package com.tianji.remark.service;

import com.tianji.remark.domain.dto.LikeRecordFormDTO;
import com.tianji.remark.domain.po.LikedRecord;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 点赞记录表 服务类
 * </p>
 *
 * @author mxl
 * @since 2024-06-27
 */
public interface ILikedRecordService extends IService<LikedRecord> {
    /**
     * 添加或者取消点赞记录
     * @param likeRecordFormDTO 点赞的用户以及业务id
     */
    void addLikeRecord(LikeRecordFormDTO likeRecordFormDTO);

    /**
     * 点赞状态
     * @param bizIds 当前用户是否对业务列中的数据点过赞
     * @return 返回点过赞的业务id
     */
    Set<Long> getLikesStatusByBizIds(List<Long> bizIds);

    /**
     * 定时任务 取出对应的任务并发送mq
     * @param bizType
     * @param maxBizSize
     */
    void readLikedTimesAndSendMessage(String bizType, int maxBizSize);
}
